package com.wva.common.utils;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @Author: hong
 * @Date: 2025/2/8 22:08:30
 */
@AllArgsConstructor
@Getter
public enum FileSize {
    B(1L),
    KB(1024L),
    MB(1024L*1024),
    GB(1024L*1024*1024)
    ;

    private final long val;

    /**
     * 将给定尺寸 转换到 此枚举所表示的单位<br>
     * 例：FileSize.MB.ofVal(1L, FileSize.GB) = 1024
     * @param val 要转换的尺寸的具体值
     * @param fileSize 要转换的尺寸的单位
     * @return 转换后以这种尺寸表示的值
     */
    public long ofVal(long val, FileSize fileSize) {
        return (val * fileSize.getVal()) / this.getVal();
    }



}
